FIG. 1 depicts a schematic diagram of telecommunications system 100 in the prior art. System 100 routes voice conversations, or other types of media such as video, between telephony-capable network elements such as telephones. System 100 comprises network switch 101, router 102, Internet Protocol packet network 103, and endpoint network elements 104-1 through 104-M, wherein M is a positive integer. The elements depicted in FIG. 1 are interconnected as shown. In FIG. 1, two types of networks are represented: an Internet Protocol (IP) packet network, which is depicted by network 103, and a local area network (or “LAN”), which comprises network switch 101 and the network elements that are connected to the switch.
Network switch 101 is a networking device that provides for the local distribution of signals. Switch 101 distributes the signals by filtering and forwarding packets between segments in the local area network that the switch serves. Switch 101 comprises a plurality of data connection ports and relays traffic from one connection port to another other in a transparent manner. At most, one network element is connected to any port at switch 101; in this way, switch 101 is distinguished from another type of networking device called a bridge, in that a bridge can have more than one network element that uses the same connection port. Switch 101 operates in accordance with the networking protocol of the particular local area network that it serves, which in this case is the Ethernet protocol.
Since the only devices on each LAN segment are switch 101 and the network element node connected to each port, switch 101 picks up every transmitted packet before the packet reaches another node. The switch then forwards the packet over the appropriate segment. Since any segment contains only a single node, the packet only reaches the intended recipient and does not interfere with the transmission of another packet by another node, thereby enabling many calls to occur simultaneously.
In typical use, one of the ports of switch 101 is connected to a router, such as router 102 described below, or to another switch. It is this port through which endpoint network elements 104-1 through 104-M gain access to another network than the network served by network switch 101. Note that there is nothing unique about the port to which the router is connected—that is, the port to which the router is connected can be any of the ports of switch 101.
Router 102 is a networking device that forwards data packets along networks, in this case between the local area network served by network switch 101 and Internet Protocol packet network 103. Router 102 routes packets at the network layer (i.e., layer 3) of the Open System Interconnection (OSI) reference model. As a device that is closer to a “backbone” network, such as Internet Protocol packet network 103 described below, router 102 is considered to be an “upstream device” or is referred to as being “upstream” of network switch 101.
Internet Protocol packet network 103 is a backbone network that is used to transport one or more types of media, such as Voice over Internet Protocol (or “VoIP”). Network 103 comprises one or more transmission-related nodes such as routers that are used to direct data packets (e.g., voice packets, etc.) from one or more sources to the correct destinations of those packets. Network 103 is capable of handling Internet Protocol-based messages that are transmitted among the network elements that have access to network 103, such as the endpoint network elements and gateways (not shown). Although IP network 103 as depicted is a Voice-over-IP service provider's network, network 103 could alternatively be the Internet or some other type of Internet Protocol-based network.
Endpoint network element 104-m, for m=1 through M, is a local area network-based device such as a telephone, (e.g., deskset, softphone, etc.), a computer (e.g., desktop computer, portable computer, etc.), and so forth. As an endpoint, network element 104-m enables its user to access other devices throughout telecommunications system 100, such as host computers or other endpoints that are accessible to network element 104-m only through IP packet network 103.
In order to support each endpoint network element 104-m that is connected to it, network switch 101 has to be able to communicate with each connected device through a communication protocol such as Ethernet that the connected devices and switch 101 all recognize. The Ethernet standard that governs network switch 101 supports different speeds of operation at the switch, including 10 Megabits/second, 100 Megabits/second, and 1 Gigabit/second. Modern network interface cards (or “NIC”) can operate at more than one of these standard speeds. For example, a “10/100” NIC can operate at either 10 Megabits/second or 100 Megabits/second. The actual speed of operation is set either by configuration or by a process known as auto-negotiation. In auto-negotiation, the NICs of the elements at either end of each connection set the speed based on the fastest rate that can be supported by both. Thus, a 10/100/1G NIC and a 10/100 NIC will settle upon 100 Megabits/second through auto-negotiation. Alternatively, the 10/100 NIC at either end can be manually pegged to operate at 10 Megabits/second, in which case the pair of NICs will then settle upon 10 Megabits/second as the common speed of operation. Furthermore, each connection will auto-negotiate its own rate, independent of what is connected to the other ports at switch 101. For example, the link to router 102 might settle on 100 Megabits/second, while the link to network element 104-1 might settle at 10 Megabits/second, while the link to network element 104-2 might settle at 100 Megabits/second.
An endpoint device, such as network element 104-1, often comprises a processor (i.e., a central processing unit) that is able to handle a packet transfer rate (both incoming and outgoing packets) that is considered normal, such as a transfer rate that is specified for a particular mode of real-time voice communication. However, the same processor often cannot handle a packet transfer rate that is associated with a sustained burst of packets, such as during a traffic flood that is either malicious or inadvertent in nature. In addition, the endpoint device's network interface card is typically able to handle a considerably higher influx of packets than the same device's processor is able to handle. Consequently, processor overload can occur when an end-user device is abnormally flooded with packets, if both the upstream link to router 102 and the link to the endpoint device (e.g., network element 104-5, etc.) have settled at any rate that is higher than what the endpoint device's processor is able to handle. Overloading the processor can have undesirable consequences for the operation of the endpoint device as a user's telephony device.
What is needed is a way to avoid overloading an endpoint's processor with packets, without some of the disadvantages in the prior art.